<!DOCTYPE html>
<html lang="zh-CN">
    <head>
        <meta charset="UTF-8" />
        <title>09_innerText和textContent兼容性封装</title>
    </head>
    <body>
        <div>还有半小时就吃饭</div>

        <script>
            // 定义一个方法   该方法根据参数的个数不同 来执行不同的逻辑

            // 如果只有一个参数  那么就获取标签中间的内容
            // 获取内容有要求：如果是高级浏览器则使用textContent来获取
            // 如果是低级浏览器则使用innerText来获取

            // textContent在低级浏览器中使用会返回undefined,
            // Boolean(undefined) == 》 false;



            // 如果有2个参数  那么就设置标签中间的内容
            // 第二个参数是设置标签内容的文本
            // 设置内容有要求：如果是高级浏览器 则使用textContent
            // 来设置  如果是低级浏览器 则使用innerText来设置

            function getOrSetContent(node,content){
                if(arguments.length == 1){
                    // textContent只要是高级浏览器 那么就会返回标签中间的内容
                    // 而if的圆括号中 会将数据隐式转换为Boolean
                    if(node.textContent){
                        console.log(node.textContent);
                    }else{
                        console.log(node.innerText);
                    }
                }else if(arguments.length == 2){
                    if(node.textContent){
                        node.textContent = content;
                    }else {
                        node.innerText = content;
                    }
                }

            }

            var div = document.querySelector('div');

            getOrSetContent(div,'哈哈哈');


        </script>
    </body>
</html>